home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C/C++ Users Group Library 1996 July
/
C-C++ Users Group Library July 1996.iso
/
listings
/
v_09_05
/
9n05118a
< prev
next >
Wrap
Text File
|
1991-03-16
|
5KB
|
202 lines
/***********************************************
*
* file d:\cips\cips.c
*
* Functions: This file contains
* main
* clear_text_screen
* show_menu
* show_image
*
* External Calls:
* numcvrt.c - get_integer
* gin.c - get_image_name
* rtiff.c - read_tiff_image
* tiff.c - read_tiff_header
* rstring.c - read_string
* display.c - display_image
* display_menu_for_display_image
* pi.c - print_image
*
* Modifications:
* 26 June 1990 - created
*
*************************************************/
#include "d:\cips\cips.h"
short the_image[ROWS][COLS];
short out_image[ROWS][COLS];
main()
{
char color_transform[80],
monitor_type[80],
name[80],
name2[80],
rep[80];
int color,
display_colors,
file_d,
first_element,
first_line,
i,
ie,
il,
image_colors,
invert,
j,
le,
ll,
not_finished,
response;
long mean_of_pixels;
struct tiff_header_struct image_header;
clear_text_screen();
not_finished = 1;
response = 99;
il = 1;
ie = 1;
ll = ROWS+1;
le = COLS+1;
display_colors = 16;
image_colors = 16;
invert = 0;
strcpy(color_transform, "Straight mode");
strcpy(monitor_type, "VGA");
strcpy(name, "d:/pix/adam256.tif");
while(not_finished){
show_menu();
get_integer(&response);
switch (response){
case 1:/* display image header */
get_image_name(name);
read_tiff_header(name, &image_header);
printf("\n\nCIPS> The image header is:");
printf("\n\t\twidth=%ld length=%ld start=%ld bits=%ld",
image_header.image_width,
image_header.image_length,
image_header.strip_offset,
image_header.bits_per_pixel);
printf("\nCIPS> Hit Enter to continue");
read_string(rep);
break;
case 2:/* display image numbers */
get_image_name(name);
get_parameters(&il, &ie, &ll, &le);
read_tiff_image(name, the_image, il, ie, ll, le);
show_image(the_image, il, ie);
break;
case 3: /* print image numbers */
get_image_name(name);
get_parameters(&il, &ie, &ll, &le);
read_tiff_image(name, the_image, il, ie, ll, le);
print_image(the_image, name, 1, 1, 1, 100, 18,
il, ie);
break;
case 4: /* display image */
get_image_name(name);
read_tiff_header(name, &image_header);
get_parameters(&il, &ie, &ll, &le);
display_menu_for_display_image(&image_colors,
&display_colors, &invert,
color_transform, monitor_type);
display_image(name, the_image, il, ie,
ll, le, &image_header, monitor_type,
color_transform, invert,
image_colors, display_colors);
break;
case 20: /* exit system */
not_finished = 0;
break;
default:
printf("\nCould not understand response, try again");
break;
} /* ends switch response */
} /* ends while not finished */
} /* ends main */
/******************************************************
* clear_text_screen()
*
* This calls Microsoft C functions to clear the text
* screen and set a blue background with gray text.
*******************************************************/
clear_text_screen()
{
_setvideomode(_TEXTC80); /* MSC 6.0 statements */
_setbkcolor(1);
_settextcolor(7);
_clearscreen(_GCLEARSCREEN);
} /* ends clear_text_screen */
/******************************************************
* show_image(...
*
* This function displays the image numbers on the
* screen as text. It displays 20 rows with 18
* columns each.
*******************************************************/
show_image(image, il, ie)
int il, ie;
short image[ROWS][COLS];
{
int i, j;
printf("\n ");
for(i=0; i<18; i++)
printf("-%3d", i+ie);
for(i=0; i<20; i++){
printf("\n%2d>", i+il);
for(j=0; j<18; j++)
printf("-%3d", image[i][j]);
}
printf("\nPress enter to continue");
get_integer(&i);
} /* ends show_image */
/******************************************************
* show_menu(..
* This function displays the CIPS main menu.
*******************************************************/
show_menu()
{
printf("\n\n\nWelcome to CIPS");
printf("\nThe C Image Processing System");
printf("\nThese are you choices:\n");
printf("\n\t1. Display image header");
printf("\n\t2. Show image numbers");
printf("\n\t3. Print image numbers");
printf("\n\t4. Display image");
printf("\n\t20. Exit system");
printf("\n\nEnter choice _\b");
} /* ends show_menu */